package com.example.event_resource_java.commons.domain;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <pre>
 * </pre>
 * <small> 2018年3月23日 | Aron</small>
 */
@TableName("sys_user")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class UserDO implements Serializable {
    private static final long serialVersionUID = 1L;
    //角色

    //
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    // 用户真实姓名
    private String name;
    // 用户名
    private String username;
    // 密码
    private String password;
    // salt
    private String salt;
    // 邮箱
    private String email;
    // 手机号
    private String mobile;
    // 状态 0:禁用，1:正常
    private Integer status;
    // 创建用户id5x5x
    @TableField("userIdCreate")
    private Long userIdCreate;
    // 创建时间
    @TableField("gmtCreate")
    private String gmtCreate;
    // 修改时间
    @TableField("gmtModified")
    private String gmtModified;
    //角色
    @TableField(exist = false)
    private List<Long> roleIds;
    @TableField(exist = false)
    private String roleNameList;
    //性别
    private Integer sex;
    //图片ID
    private Long picId;
    //现居住地
    private String liveAddress;
    //爱好
    private String hobby;
    //省份
    private String province;
    //所在城市
    private String city;
    //所在地区
    private String district;
    //证书小程序openId
    private String cerOpenId;
    //培训小程序openId
    private String traOpenId;
    //身份证号码
    private String idNumber;
    //支付密码
    private String payPassword;
    //会员类型(0个人会员，1机构会员，2运营人员)
    private Integer type;
    //所属机构ID
    private Long orgId;
    //机构名称
    private String orgName;
    //用户余额
    private BigDecimal money;
    //微信小程序id
    private Integer wxId;
    //用户头像
    private String headPortrait;
    //出生年月
    private String dateOfBirth;
    //民族
    private String nation;
    //学历
    private String education;
    //专业
    private String major;
    //政治面貌
    private String politicalAffiliation;
    //职务
    private String officialCapacity;
    //职称
    private String officialCapacityName;
    //QQ
    private String QQ;
    //学习、工作经历
    private String experience;
	//专家荣耀
    @TableField(exist = false)
    private String honor;

    //荣誉证书地址
    @TableField(exist = false)
    private String honorImageSrc;
    //审核状态（0：已完善（审核中）， 1：通过 ，2：未通过，3：未完善）
    private Integer state;

    //最后修改的端口(101：证书端，102：培训端)
    @TableField("last_edit")
    private Integer lastEdit;

    //用户绑定微信扫码登录唯一标识
    @TableField("login_wx_code")
    private String loginWxCode;

    //备注
    private String remark;


    //用户绑定微信扫码登录唯一标识
    @TableField("brand_status")
    private String brandStatus;


    @TableField("integral")
    private String integral;

    /** 用户子表 */
    @TableField(value = "user_relevancy_id")
    private String userRelevancyId;


    /** 品牌表关联id */
    @TableField("brand_id")
    private Long brandId;


    @TableField("inviter_id")
    private String inviterId; //邀请人id

    @TableField("invitee_id")
    private String inviteeId; //被邀请人id

    @TableField("user_from")
    private Integer userFrom; //用户添加来源
}
